Skip to main content

Indonesia – Wallet Payouts (ewallet_id)

Wallet payouts in Indonesia (ID) provide a fast and secure way to disburse funds to recipients using supported mobile wallet providers. This documentation will guide you through the technical and operational steps required to manage wallet payouts, helping your business leverage these instant payment solutions.

Key Features

  • Instant payouts (real-time)
  • Currency: IDR

Integration Overview

Tazapay uses a Payout object to represent a payout request. The payout object tracks state changes from initiation until the beneficiary’s wallet is credited (or the payout fails).

Step 1: Initiate a Payout

Create a payout using the Payout API with the following information:
  • Amount – Local currency amount (IDR)
  • Typelocal_payment_network
  • Beneficiary Details
    • name
    • typebusiness or individual
    • ewallet_provider
    • account_number (typically the mobile number)
  • purpose
  • transaction_description
  • reference_id (your unique identifier)

Supported Values for ewallet_provider

  • GoPay
  • OVO
  • ShopeePay
Use these values exactly as provided in the destination_details.local_payment_network.type API field.

Sample Request – Create Payout (Indonesia)

curl --request POST \
  --url https://service.tazapay.com/v3/payout \
  --header 'Idempotency-Key: ref_id_001' \
  --header 'accept: application/json' \
  --header 'content-type: application/json' \
  --data '{
"amount": 10000,
  "currency": "USD",
  "purpose": "PYR001",
  "transaction_description": "Test",
  "beneficiary_details": {
    "name": "Budi Santoso",
    "type": "individual",
    "destination_details": {
      "type": "local_payment_network",
      "local_payment_network": {
        "deposit_key": "081234567890",
        "type": "gopay_idr",
        "deposit_key_type": "phone"
      }
    }
  }
}'

Response – Create Payout

{
  "status": "success",
  "data": {
    "id": "pot_id_example_001",
    "amount": 150000,
    "currency": "IDR",
    "status": "processing",
    "reference_id": "ref_id_001",
    "created_at": "2025-05-16T09:20:30.716Z"
  }
}
id is the unique identifier used to track the payout.

Payout Status & Webhooks

After creation, the payout moves to processing. From processing, it may transition to:
  • requires_action – Additional information required (KYC/regulatory)
  • succeeded – Wallet credited successfully
  • failed – Payout failed; funds are returned to your account
    • Failure reason available in status_description

Tazapay sends webhook notifications to your configured endpoint for all payout state changes.

Sandbox Simulation

  • All sandbox payouts move from processingsucceeded
  • Payouts with amount = 200000 move to failed

Suggested Test Wallet Accounts

ewallet_provideraccount_number
GoPay081987654321
OVO081223344556
ShopeePay081888777666